package com.zhangtai.exception;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import lombok.Data;

import java.util.Date;

@Data
public class sendQwMsgEntity {

    /**
     * * @param title 消息标题
     */
    private String title;
    /**
     *  * @param media_id 图片、语音、视频、文件上传接口获取到的id
     */
    private String media_id;
    /**
     ** @param url 跳转地址
     */
    private String url;
    /***
     *  picurl   图片url  图文消息用
     */
    private String picurl;
    /**
     *   * @param touserId  发送人企业微信  成员ID列表（消息接收者，多个接收者用‘|’分隔，最多支持1000个）。特殊情况：指定为@all，则向关注该企业应用的全部成员发送
     */
    private String touserId;
    /**
     ** @param msgType 消息类型 1 文本消息  2 图片消息   3语音消息  4 视频消息 5文件消息  6文本卡片消息 7 图文消息
     */
    private Integer msgType;
    /**
     ** @param qwMsg 发的企业微信消息
     */
    private String qwMsg;
    /**
     *   * @param content 消息内容
     */
    private String content;
    /**
     * * @param type 类型（根据待办还是消息推送判断）
     */
    private Integer type;
    /**
     ** @param isMsg 是否是消息
     */
    private boolean isMsg;
    /**
     *  * @param oid 雇员id
     */
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long oid;
    /**
     * * @param operationId 业务表id
     */
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long operationId;
    /**
     *     * @param key 角色名
     */
    private String key;
    /***
     *     * @param code 申请人code(发送消息时用)
     */
    private String code;
    /**
     *
     */
    private Date todoDate;
    /**
     * +
     */
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long orgId;

    /**
     * 直接发企业微信消息
     * @param title  标题
     * @param qwMsg     消息
     *  @param touserId     企业微信id
     */
    public sendQwMsgEntity(String title,String qwMsg,String touserId){
        this.title=title;
        this.qwMsg=qwMsg;
        this.touserId=touserId;
        this.msgType=1;
    }

    /**
     * 直接发企业微信卡片消息
     * @param title  标题
     * @param qwMsg   消息
     * @param url   跳转地址
     *  @param content  显示内容
     */
    public sendQwMsgEntity(String title,String qwMsg,String url,String content){
        this.title=title;
        this.qwMsg=qwMsg;
        this.url=url;
        this.content=content;
        this.msgType=6;
    }
}
